home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3c / inet.z / inet
Encoding:
Text File  |  2001-04-17  |  8.2 KB  |  199 lines

  1.  
  2.  
  3.  
  4. IIIINNNNEEEETTTT((((3333NNNN))))                                                              IIIINNNNEEEETTTT((((3333NNNN))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      inet_aton, inet_addr, inet_network, inet_isaddr, inet_ntoa,
  10.      inet_makeaddr, inet_lnaof, inet_netof - Internet address manipulation
  11.      routines
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>>
  15.      ####iiiinnnncccclllluuuuddddeeee <<<<nnnneeeettttiiiinnnneeeetttt////iiiinnnn....hhhh>>>>
  16.      ####iiiinnnncccclllluuuuddddeeee <<<<aaaarrrrppppaaaa////iiiinnnneeeetttt....hhhh>>>>
  17.  
  18.      iiiinnnntttt iiiinnnneeeetttt____aaaattttoooonnnn((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ccccpppp,,,, ssssttttrrrruuuucccctttt iiiinnnn____aaaaddddddddrrrr ****ppppiiiinnnn))));;;;
  19.  
  20.      uuuunnnnssssiiiiggggnnnneeeedddd lllloooonnnngggg iiiinnnneeeetttt____aaaaddddddddrrrr((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ccccpppp))));;;;
  21.  
  22.      uuuunnnnssssiiiiggggnnnneeeedddd lllloooonnnngggg iiiinnnneeeetttt____nnnneeeettttwwwwoooorrrrkkkk((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ccccpppp))));;;;
  23.  
  24.      iiiinnnntttt iiiinnnneeeetttt____iiiissssaaaaddddddddrrrr((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ccccpppp,,,, uuuuiiiinnnntttt33332222____tttt ****aaaaddddddddrrrr))));;;;
  25.  
  26.      cccchhhhaaaarrrr ****iiiinnnneeeetttt____nnnnttttooooaaaa((((ssssttttrrrruuuucccctttt iiiinnnn____aaaaddddddddrrrr iiiinnnn))));;;;
  27.  
  28.      ssssttttrrrruuuucccctttt iiiinnnn____aaaaddddddddrrrr iiiinnnneeeetttt____mmmmaaaakkkkeeeeaaaaddddddddrrrr((((iiiinnnntttt nnnneeeetttt,,,, iiiinnnntttt llllnnnnaaaa))));;;;
  29.  
  30.      uuuunnnnssssiiiiggggnnnneeeedddd lllloooonnnngggg iiiinnnneeeetttt____llllnnnnaaaaooooffff((((ssssttttrrrruuuucccctttt iiiinnnn____aaaaddddddddrrrr iiiinnnn))));;;;
  31.  
  32.      uuuunnnnssssiiiiggggnnnneeeedddd lllloooonnnngggg iiiinnnneeeetttt____nnnneeeettttooooffff((((ssssttttrrrruuuucccctttt iiiinnnn____aaaaddddddddrrrr iiiinnnn))));;;;
  33.  
  34. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  35.      The routines _i_n_e_t__a_t_o_n, _i_n_e_t__a_d_d_r and _i_n_e_t__n_e_t_w_o_r_k interpret character
  36.      strings representing numbers expressed in the Internet standard "." (dot)
  37.      notation.  The _i_n_e_t__a_t_o_n routine interprets the specified character
  38.      string as an Internet address, placing the address into the structure
  39.      provided.  It returns 1 if the string was successfully interpreted, or 0
  40.      if the string is invalid.  The _i_n_e_t__a_d_d_r and _i_n_e_t__n_e_t_w_o_r_k functions
  41.      return numbers suitable for use as Internet addresses and Internet
  42.      network numbers, respectively.  To determine if an ASCII string is a
  43.      valid representation of an IPv4 address, the function _i_n_e_t__i_s_a_d_d_r may be
  44.      used.  It takes a pointer to the string, cp, and returns a 1 if the
  45.      address is valid, 0 otherwise.  Additionally, if the addr parameter is
  46.      non-NULL, the converted address will be stored at the address pointed to
  47.      by addr.  The routine _i_n_e_t__n_t_o_a takes an Internet address and returns an
  48.      ASCII string representing the address in "." notation.  The routine
  49.      _i_n_e_t__m_a_k_e_a_d_d_r takes an Internet network number and a local network
  50.      address and constructs an Internet address from it.  The routines
  51.      _i_n_e_t__n_e_t_o_f and _i_n_e_t__l_n_a_o_f break apart Internet host addresses, returning
  52.      the network number and local network address part, respectively.
  53.  
  54.      All Internet addresses are returned in network order (bytes ordered from
  55.      left to right).  All network numbers and local address parts are returned
  56.      as machine format integer values.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. IIIINNNNEEEETTTT((((3333NNNN))))                                                              IIIINNNNEEEETTTT((((3333NNNN))))
  71.  
  72.  
  73.  
  74. IIIINNNNTTTTEEEERRRRNNNNEEEETTTT AAAADDDDDDDDRRRREEEESSSSSSSSEEEESSSS
  75.      Values specified using the "." notation take one of the following forms:
  76.           a.b.c.d
  77.           a.b.c
  78.           a.b
  79.           a
  80.      When four parts are specified, each is interpreted as a byte of data and
  81.      assigned, from left to right, to the four bytes of an Internet address.
  82.  
  83.      When a three part address is specified, the last part is interpreted as a
  84.      16-bit quantity and placed in the right most two bytes of the network
  85.      address.  This makes the three part address format convenient for
  86.      specifying Class B network addresses as "128.net.host".
  87.  
  88.      When a two part address is supplied, the last part is interpreted as a
  89.      24-bit quantity and placed in the right most three bytes of the network
  90.      address.  This makes the two part address format convenient for
  91.      specifying Class A network addresses as "net.host".
  92.  
  93.      When only one part is given, the value is stored directly in the network
  94.      address without any byte rearrangement.
  95.  
  96.      All numbers supplied as "parts" in a "." notation may be decimal, octal,
  97.      or hexadecimal, as specified in the C language (i.e., a leading 0x or 0X
  98.      implies hexadecimal; otherwise, a leading 0 implies octal; otherwise, the
  99.      number is interpreted as decimal).
  100.  
  101. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  102.      The constant IIIINNNNAAAADDDDDDDDRRRR____NNNNOOOONNNNEEEE is returned by _i_n_e_t__a_d_d_r and _i_n_e_t__n_e_t_w_o_r_k for
  103.      malformed requests.
  104.  
  105. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  106.      gethostbyname(3N), getnetent(3N), hosts(4), networks(4)
  107.  
  108. BBBBUUUUGGGGSSSS
  109.      The value IIIINNNNAAAADDDDDDDDRRRR____NNNNOOOONNNNEEEE (0xffffffff) is a valid broadcast address, but
  110.      _i_n_e_t__a_d_d_r cannot return that value without indicating failure.  The newer
  111.      _i_n_e_t__a_t_o_n function does not share this problem.
  112.  
  113.      The string returned by _i_n_e_t__n_t_o_a resides in a static memory area.  Thus
  114.  
  115.           printf("%s %s0, inet_ntoa(addr1), inet_ntoa(addr2));
  116.  
  117.      will print the same address twice.
  118.  
  119.      Inet_addr should return a struct in_addr.
  120.  
  121.      The problem of host byte ordering versus network byte ordering is
  122.      confusing.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. IIIINNNNEEEETTTT((((3333NNNN))))                                                              IIIINNNNEEEETTTT((((3333NNNN))))
  137.  
  138.  
  139.  
  140.      A simple way to specify Class C network addresses in a manner similar to
  141.      that for Class B and Class A is needed.
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.